High Performance Numerical Computing in Java: Language and Compiler Issues

نویسندگان

  • Pedro V. Artigas
  • Manish Gupta
  • Samuel P. Midkiff
  • José E. Moreira
چکیده

Poor performance on numerical codes has slowed the adoption of Java within the technical computing community. In this paper we describe a prototype array library and a research prototype compiler that support standard Java and deliver near-Fortran performance on numerically intensive codes. We discuss in detail our implementation of: (i) an efficient Java package for true multidimensional arrays; (ii) compiler techniques to generate efficient access to these arrays; and (iii) compiler optimizations that create safe, exception free regions of code that can be aggressively optimized. These techniques work together synergistically to make Java an efficient language for technical computing. In a set of four benchmarks, we achieve between 50 and 90% of the performance of highly optimized Fortran code. This represents a several-fold improvement compared to what can be achieved by the next best Java environment.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

High Performance Computing in Java: Language and Compiler Issues

Poor performance on numerical codes has slowed adoption of Java within the technical computing community. In this paper we describe a prototype array library and a research prototype compiler that support standard Java and deliver near-Fortran performance on numerically intensive codes. We discuss in detail our implementation of: (i) an efficient Java package for true multidimensional arrays; (...

متن کامل

Java programming for high-performance numerical computing

First proposed as a mechanism for enhancing Web content, Java has taken off as a serious generalpurpose programming language. Industry and academia alike have expressed great interest in using Java as a programming language for scientific and engineering computations. Applications in these domains are characterized by intensive numerical computing, and often have very high performance requireme...

متن کامل

The NINJA Project: Making Java Work for High Performance Numerical Computing

When Java(TM) was first introduced, there was a perception (properly founded at the time) that its many benefits came at a significant performance cost. In few areas were the performance deficiencies of Java so blatant as in numerical computing. Our own measurements, with second-generation Java virtual machines, showed differences in performance of up to one hundred-fold relative to C or Fortra...

متن کامل

Supporting multidimensional arrays in Java

The lack of direct support for multidimensional arrays in JavaTM has been recognized as a major deficiency in the language’s applicability to numerical computing. It has been shown that, when augmented with multidimensional arrays, Java can achieve very high-performance for numerical computing through the use of compiler techniques and efficient implementations of aggregate array operations. Th...

متن کامل

A Standard Java Array Package for Technical Computing

Java is almost universally recognized as a good object-oriented language for writing portable programs. However, it still lags behind Fortran and C in performance, particularly for computationally intensive numerical programs. In this paper we present a true multidimensional Array package, and related compiler support, that can bring Fortran-like performance to Java numerical codes. We discuss ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999